<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>箭头函数</title>
</head>
<body>
    <script>
        // ES6 允许使用「箭头」（=>）定义函数。 function fn(a,b,c){}   {}  new Function 
        //1. 声明格式 
        let add = (a, b) => {
            let res = a + b;
            return res;
        }  
        //2. 函数调用
        // let result = add(100, 421);
        // let result = add.call(window, 200,320)
        // let result = add.apply(window, [200, 799]);
        // console.log(result);
       
        // 箭头函数特点 
        // 1. this 的值是静态的.  call apply
        // let main = () => {
        //     console.log(this);
        // }
        // let o = {cls: 'h5220307'};
        // main.call(o);

        // 2. 不能作为构造函数使用
        // let Person = () => {}
        // let me = new Person();

        // 3. 不能使用 arguments 
        // let jia = () => {
        //     console.log(arguments);
        // } 

        // jia(1,2,3,4);
        

        // 4. 箭头函数简写  *
        // 一 不写小括号, 当形参有且只有一个的时候
        // 二 不写花括号, 当代码体只有一条语句的时候, 并且语句的执行结果为函数返回值的 (如果不写花括号的话, return 也不能写)
        let pow = x => x * x;
        

        console.log(pow(10));
    </script>
</body>
</html>